package com.ccmusic.service.impl;

import java.util.List;

import com.ccmusic.dao.MusicDao;
import com.ccmusic.dao.impl.MusicDaoImpl;
import com.ccmusic.entity.Music;
import com.ccmusic.service.MusicService;

public class MusicServiceImpl implements MusicService {
	MusicDao musicdao = new MusicDaoImpl();

	/**
	 * 增加音乐的方法
	 * 
	 * @param music
	 *            音乐对象,mid自增
	 * @return
	 */
	@Override
	public boolean addMusic(Music music) {
		return musicdao.addMusic(music);
	}

	/**
	 * 获取数据库中所有的音乐列表
	 * 
	 * @return 返回一个音乐的集合
	 */
	@Override
	public List<Music> getAllMusic() {

		return musicdao.getAllMusic();
	}

	/**
	 * 根据音乐名模糊查询音乐，返回音乐集合
	 * 
	 * @return
	 */
	@Override
	public List<Music> getMusicByLikeName(String mname) {

		return musicdao.getMusicByLikeName(mname);
	}

	/**
	 * 根据音乐名字删除音乐
	 * 
	 * @param mname
	 *            音乐名
	 * @return 布尔类型
	 */
	@Override
	public boolean deleteMusicByName(String mname) {

		return musicdao.deleteMusicByName(mname);
	}

	/**
	 * 根据音乐id删除音乐
	 * 
	 * @param mname
	 *            音乐名
	 * @return 布尔类型
	 */
	@Override
	public boolean deleteMusicByMid(int mid) {

		return musicdao.deleteMusicByMid(mid);
	}

	@Override
	public boolean updateMusic(Music music) {
		return musicdao.updateMusic(music);
	}

	/**
	 * 根据音乐id点赞
	 * 
	 * @param mid
	 *            音乐id
	 * @return 点赞成功返回true；点赞失败返回false
	 */
	@Override
	public boolean likeIt(String mid) {
		return musicdao.likeIt(mid);
	}

	/**
	 * 根据音乐id取消点赞
	 * 
	 * @param mid
	 *            音乐id
	 * @return 取消点赞成功返回true；取消点赞失败返回false
	 */
	@Override
	public boolean dislikeIt(String mid) {
		return musicdao.dislikeIt(mid);
	}

	/**
	 * 根据音乐url获取音乐
	 * 
	 * @param url
	 *            音乐url
	 * @return 如果存在返回该音乐对象，否则返回null
	 */
	@Override
	public Music getMusicByMid(String url) {
		return musicdao.getMusicByMid(url);
	}

}
